package top.tangyh.lamp.care.vo.save;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Data;

@Schema(description ="病人时间点计划入参类")
@Data
public class TimePlanInVO {

    @NotNull(message = "请输入id" )
    private Long id;

    @NotBlank(message = "请输入病人识别号")
    @Schema(description = "病人识别号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String patientIdent;

    @NotBlank(message = "请输入病人住院号" )
    @Schema(description = "病人住院号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String hospitalNumber;

    @NotBlank(message = "请输入模块id" )
    @Schema(description = "模块id", requiredMode = Schema.RequiredMode.REQUIRED)
    private String moduleId;

    @NotBlank(message = "请输入时间类型")
    @Schema(description = "时间类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1=时间点 2=时间段")
    private String type;

    @NotNull(message = "请输入时间戳")
    @Schema(description = "13位精确到天的时间戳", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long currentDate;

    @NotNull(message = "请输入间隔分钟")
    @Schema(description = "间隔分钟", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer interval;

    @NotBlank(message = "请输入开始时间")
    @Schema(description = "开始时间点", requiredMode = Schema.RequiredMode.REQUIRED, example = "6:00")
    @Pattern(regexp = "^(0[0-9]|1[0-9]|2[0-3]):(00|[0-5][0-9])$", message = "请输入开始时间的正确表达式" )
    private String startTime;

    @NotBlank(message = "请输入结束时间")
    @Schema(description = "结束时间点", requiredMode = Schema.RequiredMode.REQUIRED, example = "16:00")
    @Pattern(regexp = "^(0[0-9]|1[0-9]|2[0-3]):(00|[0-5][0-9])$", message = "请输入结束时间的正确表达式")
    private String endTime;

    @Schema(description = "排班是否跨天")
    private Integer addDay;

    @Schema(description = "采集人")
	private String caijiren;

    @Schema(description = "采集人工号")
    private String gh;
}
